#include "StdAfx.h"
#include "EchoXAPO.h"

EchoXAPO::EchoXAPO(IXAudio2SourceVoice *pVoice, WAVEFORMATEXTENSIBLE* pwfx):EffectXAPO(pVoice, pwfx)
{
	CreateFX(__uuidof(FXEcho),&pXAPO);

	XAPOParameters.Delay = FXECHO_DEFAULT_DELAY;
	XAPOParameters.Feedback = FXECHO_DEFAULT_FEEDBACK;
	XAPOParameters.WetDryMix = FXECHO_DEFAULT_WETDRYMIX;

}

EchoXAPO::~EchoXAPO(void)
{
}

HRESULT EchoXAPO::apply(void) 
{
	pSourceVoice->SetEffectParameters( GetEffectNumber(), &XAPOParameters, sizeof( FXECHO_PARAMETERS ) );
	

	return S_OK;
}


FXECHO_PARAMETERS EchoXAPO::GetEchoParameters(void)
{
	return XAPOParameters;
}

FXECHO_PARAMETERS EchoXAPO::SetEchoParameters(FXECHO_PARAMETERS& NewXAPOParameters)
{
	FXECHO_PARAMETERS OldXAPOParameters = XAPOParameters;
	XAPOParameters = NewXAPOParameters;

	return OldXAPOParameters;
}